550 PRINT "(H)orizontal or (V)ertical line:";: GET A$: IF A$ < >"H" AND A$ < >"V" AND A$ < >"h" AND A$ < >"v" AND A$ < >"Q" AND A$ < >"q" THEN CALL -198: GOTO 540
560 HOME : VTAB 22: PRINT "Use left and right arrow keys to select move. Return to make move."
570 IF A$ = "H" OR A$ = "h" THEN S = 2: GOTO 790
580 S = 3: IF A$ = "Q" OR A$ = "q" THEN 2050
590 FOR J = 1 TO 10: FOR I = 1 TO 11: IF R%(I,J) = 0 THEN TI = I:TJ = J:I = 11:J = 10: GOSUB 1350
600 NEXT : NEXT
610 POKE -16368,0
620 X = PEEK( -16384): XDRAW S AT TX,TY:M = ABS(M -1): IF X = 136 OR X = 149 OR X = 141 OR X = 200 OR X = 232 THEN POKE -16368,0: GOTO 640
630 GOTO 620
640 IF X = 141 AND NOT M THEN XDRAW S AT TX,TY: IF C THEN RETURN
650 IF X = 141 THEN GOSUB 1400: RETURN
660 IF M THEN XDRAW S AT TX,TY:M = 0
670 IF X = 200 OR X = 232 THEN S = 2: GOTO 790
680 IF X = 149 THEN 740
690 IF TI = 1 AND TJ = 1 THEN TI = 11:TJ = 10: GOTO 720
700 IF TI = 1 THEN TJ = TJ -1:TI = 11: GOTO 720
710 TI = TI -1
720 IF R%(TI,TJ) = 0 THEN GOSUB 1350: GOTO 620
730 GOTO 690
740 IF TI = 11 AND TJ = 10 THEN TI = 1:TJ = 1: GOTO 770
750 IF TI = 11 THEN TJ = TJ +1:TI = 1: GOTO 770
760 TI = TI +1
770 IF R%(TI,TJ) = 0 THEN GOSUB 1350: GOTO 620
780 GOTO 740
790 S = 2: REM HORIZONTAL MOVE
800 FOR J = 1 TO 11: FOR I = 1 TO 10: IF C%(I,J) = 0 THEN TI = I:TJ = J:I = 10:J = 11: GOSUB 1370
810 NEXT : NEXT
820 POKE -16368,0
830 X = PEEK( -16384): XDRAW S AT TX,TY:M = ABS(M -1): IF X = 136 OR X = 149 OR X = 141 OR X = 214 OR X = 246 THEN POKE -16368,0: GOTO 850
840 GOTO 830
850 IF X = 141 AND NOT M THEN XDRAW S AT TX,TY: IF C THEN RETURN
860 IF X = 141 THEN GOSUB 1580: RETURN
870 IF M THEN XDRAW S AT TX,TY:M = 0
880 IF X = 214 OR X = 246 THEN S = 3: GOTO 590
890 IF X = 149 THEN 950
900 IF TI = 1 AND TJ = 1 THEN TI = 10:TJ = 11: GOTO 930
910 IF TI = 1 THEN TJ = TJ -1:TI = 10: GOTO 930
920 TI = TI -1
930 IF C%(TI,TJ) = 0 THEN GOSUB 1370: GOTO 830
940 GOTO 900
950 IF TI = 10 AND TJ = 11 THEN TI = 1:TJ = 1: GOTO 980
960 IF TI = 10 THEN TJ = TJ +1:TI = 1: GOTO 980
970 TI = TI +1
980 IF C%(TI,TJ) = 0 THEN GOSUB 1370: GOTO 830
990 GOTO 950
1000 REM COMPUTER'S MOVE
1010 A$ = "The computer is deciding on a move...": HOME : VTAB 22: GOSUB 1380
1020 X = 141:M = 0:A = 1
1030 FOR I = 1 TO 100: IF B%(I) = 3 THEN GOSUB 1180:I = 100
1040 NEXT : IF TT THEN TT = 0: RETURN
1050 FL = 0:N = INT( RND(1) *2)
1060 IF N = 1 THEN 1120
1070 TI = INT( RND(1) *11) +1:TJ = INT( RND(1) *10) +1: IF R%(TI,TJ) = 0 THEN S = 3:: GOTO 1090
1080 GOTO 1050
1090 IF A < = SK THEN GOSUB 1510
1100 GOSUB 1350: GOSUB 1330: GOSUB 1400: RETURN
1110 GOTO 1050
1120 TI = INT( RND(1) *10) +1:TJ = INT( RND(1) *11) +1: IF C%(TI,TJ) = 0 THEN S = 2: GOTO 1140
1130 GOTO 1050
1140 IF A < = SK THEN GOSUB 1690
1150 GOSUB 1370: GOSUB 1330: GOSUB 1580: RETURN
1160 GOTO 1050
1170 REM FIND OPEN AREA
1180 IF I < = 10 THEN TJ = 1:TI = I: IF R%(TI,TJ) = 0 THEN S = 3: GOSUB 1350: GOSUB 1330: GOSUB 1400:TT = 1: RETURN
1190 IF I < = 10 THEN TI = TI +1: IF R%(TI,TJ) = 0 THEN S = 3: GOSUB 1350: GOSUB 1330: GOSUB 1400:TT = 1: RETURN
1200 IF I < = 10 THEN TJ = 1:TI = I: IF C%(TI,TJ) = 0 THEN S = 2: GOSUB 1370: GOSUB 1330: GOSUB 1580:TT = 1: RETURN
1210 IF I < = 10 THEN TJ = 2: IF C%(TI,TJ) = 0 THEN S = 2: GOSUB 1370: GOSUB 1330: GOSUB 1580:TT = 1: RETURN